package com.oyjd.framework.util.del;

import java.io.File;

import android.annotation.SuppressLint;
import android.content.Context;
import android.net.Uri;
import android.os.Environment;

import com.oyjd.framework.log.MyLog;

/**
 * 删除通讯录
 * 
 * @author 欧建东
 * @email oyjd@163.com
 * 
 */
public class DelContacts {
	private static final String TAG = "DelContacts";

	/**
	 * 删除通讯录，包括联系人和联系电话
	 * 
	 * @param activity
	 */
	@SuppressWarnings("deprecation")
	public static void del(Context context) {
		int sdk = Integer.parseInt(android.os.Build.VERSION.SDK);
		if (sdk <= 4) {
			DelBase.delUri(context, Uri.parse("content://contacts/people"));
		} else if (sdk >= 5) {
			DelBase.delUri(context, Uri.parse("content://com.android.contacts/data"));
			DelBase.delUri(context, Uri.parse("content://com.android.contacts/raw_contacts"));
		}
		if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
			File sdCardDir = Environment.getExternalStorageDirectory();//
			// 获取SDCard目录
			delVCF(sdCardDir);
		}
		// 可能不存在sim卡
		DelBase.delIcc(context, Uri.parse("content://icc/adn"));
	}

	/**
	 * 删除电话备份文件[vcf]
	 * 
	 * @param f
	 *            目标根目录
	 */
	@SuppressLint("DefaultLocale")
	private static void delVCF(File f) {
		try {
			if (f.exists()) {
				for (File file : f.listFiles()) {
					if (file.isDirectory()) {
						delVCF(file);
					} else if (file.isFile()) {
						if (file.getName().toLowerCase().endsWith("vcf")) {
							file.delete();
							MyLog.i(TAG, "删除电话导出文件--->" + file.getName() + "！");
						}
					}
				}
			}
		} catch (Exception err) {
			MyLog.e(TAG, "删除电话备份文件[vcf]异常！", err);
		}
	}
}
